/*
 *  ELF object file loading
 *
 * 
 *  Copyright (c) 2010-2011 Tobias Platen
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */
#ifndef IMAGELOADERELF_H
#define IMAGELOADERELF_H

	class ImageLoaderElf : public ImageLoader
	{
		std::string filename;
		std::string installname;
		void* handle;
		public:
		virtual int loadDylibs();
		virtual int link();
		virtual std::string getFilename();
		virtual std::string getInstallname();
		virtual void* loadThread();
		ImageLoaderElf(void* handle,std::string filename,std::string installname);
		virtual void* getExportedSymbolAddress(char*);
		void* (*dyld_getsymbol)(char*);
	
		//TODO objc
		//TODO entry
	};



#endif

